One of the largest differences between LATEX 2.09 and LATEX2e is in the commands used to write packages and classes. In LATEX 2.09, there was very little support for writing |.sty| files, and so writers had to resort to using low-level commands.
LATEX2e provides high-level commands for structuring packages. It is also much easier to build classes and packages on top of each other, for example writing a local technical report class based on |article|.